package com.yunlan.friendscenter.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yunlan.friendscenter.pojo.Userdata;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
* @author Administrator
* @description 针对表【userdata】的数据库操作Service
* @createDate 2022-04-28 16:10:44
*/
public interface UserdataService extends IService<Userdata> {

   /**
    * 用户注册
    * @param userAccount 用户账户
    * @param userPassword 用户密码
    * @param checkPassword 校验密码
    * @return 新用户id
    */
   Long userRegister(String userAccount,String userPassword,String checkPassword);

   /**
    * 用户登录
    * @param userAccount 用户账户
    * @param userPassword  用户密码
    * @param request
    * @return  脱敏后的用户信息
    */
   Userdata userLogin(String userAccount, String userPassword, HttpServletRequest request);

   /**
    * 用户数据搜索
    * @param username 搜索数据
    * @param request  请求体
    * @param pagenum  当前页
    * @param pagesize 每页大小
    * @param value    搜索指标
    * @return
    */
   Page<Userdata> searchUserData(String username, HttpServletRequest request, String pagenum, String pagesize,String value);

   /**
    * 用户数据删除
    * @param id 用户账号
    * @param request 请求体
    * @return 用户删除是否
    */
   boolean delectUserData(long id,HttpServletRequest request);

   /**
    * 用户注销
    * @param request 请求体
    * @return
    */
   int userLoginOut(HttpServletRequest request);

   /**
    * 用户权限判断
    * @param request 请求体
    * @return 是否
    */
   static boolean isAdmin(HttpServletRequest request) {
      return false;
   }

   /**
    * 用户信息脱敏
    * @param userdata 用户对象
    * @return 脱敏对象
    */
   static Userdata reduceUserData(Userdata userdata){
      return null;
   }

}
